package com.diepu.www.client.proxy.partner.common;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import org.hibernate.validator.constraints.NotBlank;

/**
 * 贷款信息<br/>
 * @author xiongxiaotun<br/>
 * @time 2017年05月02日 11时06分<br/>
 * @since 1.0<br/> 
 * @update 2017-7-1 xiongxiaotun<br/>
 * 启用ccol1 作为 高息模式下的 取整模式 1:向上取整 2:向下取整
 * 启用ccol2 作为试算签约利率
 */
@ApiModel(value="YwBusinessLoanInfo", description="贷款信息", parent = BaseInfo.class)
public class YwBusinessLoanInfo extends BaseInfo {
	
	private static final long serialVersionUID = 1L;
	/**
	 * 业务ID
	 */
	@NotBlank(message="业务ID不能为空")
	@ApiModelProperty(name="busiId",required=false,value="业务ID",example="业务ID")
	private String busiId;
	
	/**
	 * 客户ID
	 */
	@ApiModelProperty(name="cusId",required=false,value="客户ID",example="客户ID")
	private String cusId;
	
	/**
	 * 车辆ID
	 */
	@ApiModelProperty(name="carId",required=true,value="车辆ID",example="车辆ID")
	private String carId;
	
	/**
	 * 车价
	 */
	@ApiModelProperty(name="carPrice",required=false,value="车价",example="0")
	private Double carPrice;
	
	/**
	 * 车龄
	 */
	@ApiModelProperty(name="carAge",required=false,value="车龄",example="0")
	private Integer carAge;
	
	/**
	 * 二手车估价
	 */
	@ApiModelProperty(name="carEstimatePrice",required=false,value="二手车估价",example="0")
	private Double carEstimatePrice;
	
	/**
	 * 贷款银行
	 */
	@ApiModelProperty(name="loanBank",required=false,value="贷款银行",example="贷款银行")
	private String loanBank;
	
	/**
	 * 贷款模式
	 */
	@ApiModelProperty(name="loanType",required=true,value="贷款模式",example="贷款模式")
	private String loanType;
	
	/**
	 * 银行基准利率
	 */
	@ApiModelProperty(name="bankRate",required=false,value="银行基准利率",example="0")
	private Double bankRate;
	
	/**
	 * 贷款期限
	 */
	@ApiModelProperty(name="loanMonth",required=false,value="贷款期限",example="0")
	private Integer loanMonth;
	
	/**
	 * 按揭服务费
	 */
	@ApiModelProperty(name="servicePrice",required=false,value="按揭服务费",example="0")
	private Double servicePrice;
	
	/**
	 * 公司费率
	 */
	@ApiModelProperty(name="companyRate",required=false,value="公司费率",example="0")
	private Double companyRate;
	
	/**
	 * 实际贷款额
	 */
	@ApiModelProperty(name="loanAmount",required=false,value="实际贷款额",example="0")
	private Double loanAmount;
	
	/**
	 * 签约首付款
	 */
	@ApiModelProperty(name="signFirstPaymentAmount",required=false,value="签约首付款",example="0")
	private Double signFirstPaymentAmount;
	
	/**
	 * 签约贷款额
	 */
	@ApiModelProperty(name="signLoanAmount",required=false,value="签约贷款额",example="0")
	private Double signLoanAmount;
	
	/**
	 * 月还款额
	 */
	@ApiModelProperty(name="amountMonthly",required=false,value="月还款额",example="0")
	private Double amountMonthly;
	
	/**
	 * 分期付款总额
	 */
	@ApiModelProperty(name="totalRepaymentAmount",required=false,value="分期付款总额",example="0")
	private Double totalRepaymentAmount;
	
	/**
	 * 分期付款总额比例
	 */
	@ApiModelProperty(name="totalRepaymentProportion",required=false,value="分期付款总额比例",example="0")
	private Double totalRepaymentProportion;
	
	/**
	 * 每月本金还款额
	 */
	@ApiModelProperty(name="monthlyPrincipalAmount",required=false,value="每月本金还款额",example="0")
	private Double monthlyPrincipalAmount;
	
	/**
	 * 每月手续费
	 */
	@ApiModelProperty(name="monthlyFee",required=false,value="每月手续费",example="0")
	private Double monthlyFee;
	
	/**
	 * 每月手续费(补)
	 */
	@ApiModelProperty(name="monthlyFee2",required=false,value="每月手续费(补)",example="0")
	private Double monthlyFee2;
	
	/**
	 * 首月本金还款额
	 */
	@ApiModelProperty(name="firstMonthAmount",required=false,value="首月本金还款额",example="0")
	private Double firstMonthAmount;
	
	/**
	 * 首月手续费
	 */
	@ApiModelProperty(name="firstMonthFee",required=false,value="首月手续费",example="0")
	private Double firstMonthFee;
	
	/**
	 * 首月手续费(补)
	 */
	@ApiModelProperty(name="firstMonthFee2",required=false,value="首月手续费(补)",example="0")
	private Double firstMonthFee2;
	
	/**
	 * 首月还款额
	 */
	@ApiModelProperty(name="firstMonthTotalAmount",required=false,value="首月还款额",example="0")
	private Double firstMonthTotalAmount;
	
	/**
	 * 分期手续费
	 */
	@ApiModelProperty(name="stagesFee",required=false,value="分期手续费",example="0")
	private Double stagesFee;
	
	/**
	 * 分期手续费(补)
	 */
	@ApiModelProperty(name="stagesFee2",required=false,value="分期手续费(补)",example="0")
	private Double stagesFee2;
	
	/**
	 * 银行利息
	 */
	@ApiModelProperty(name="bankRateAmount",required=false,value="银行利息",example="23423.32")
	private Double bankRateAmount;
	
	/**
	 * 首付款
	 */
	@ApiModelProperty(name="firstPaymentAmount",required=false,value="首付款",example="23423.32")
	private Double firstPaymentAmount;

	public String getBusiId() {
		return busiId;
	}

	public void setBusiId(String busiId) {
		this.busiId = busiId;
	}

	public String getCusId() {
		return cusId;
	}

	public void setCusId(String cusId) {
		this.cusId = cusId;
	}

	public String getCarId() {
		return carId;
	}

	public void setCarId(String carId) {
		this.carId = carId;
	}

	public Double getCarPrice() {
		return carPrice;
	}

	public void setCarPrice(Double carPrice) {
		this.carPrice = carPrice;
	}

	public Integer getCarAge() {
		return carAge;
	}

	public void setCarAge(Integer carAge) {
		this.carAge = carAge;
	}

	public Double getCarEstimatePrice() {
		return carEstimatePrice;
	}

	public void setCarEstimatePrice(Double carEstimatePrice) {
		this.carEstimatePrice = carEstimatePrice;
	}

	public String getLoanBank() {
		return loanBank;
	}

	public void setLoanBank(String loanBank) {
		this.loanBank = loanBank;
	}

	public String getLoanType() {
		return loanType;
	}

	public void setLoanType(String loanType) {
		this.loanType = loanType;
	}

	public Double getBankRate() {
		return bankRate;
	}

	public void setBankRate(Double bankRate) {
		this.bankRate = bankRate;
	}

	public Integer getLoanMonth() {
		return loanMonth;
	}

	public void setLoanMonth(Integer loanMonth) {
		this.loanMonth = loanMonth;
	}

	public Double getServicePrice() {
		return servicePrice;
	}

	public void setServicePrice(Double servicePrice) {
		this.servicePrice = servicePrice;
	}

	public Double getCompanyRate() {
		return companyRate;
	}

	public void setCompanyRate(Double companyRate) {
		this.companyRate = companyRate;
	}

	public Double getLoanAmount() {
		return loanAmount;
	}

	public void setLoanAmount(Double loanAmount) {
		this.loanAmount = loanAmount;
	}

	public Double getSignFirstPaymentAmount() {
		return signFirstPaymentAmount;
	}

	public void setSignFirstPaymentAmount(Double signFirstPaymentAmount) {
		this.signFirstPaymentAmount = signFirstPaymentAmount;
	}

	public Double getSignLoanAmount() {
		return signLoanAmount;
	}

	public void setSignLoanAmount(Double signLoanAmount) {
		this.signLoanAmount = signLoanAmount;
	}

	public Double getAmountMonthly() {
		return amountMonthly;
	}

	public void setAmountMonthly(Double amountMonthly) {
		this.amountMonthly = amountMonthly;
	}

	public Double getTotalRepaymentAmount() {
		return totalRepaymentAmount;
	}

	public void setTotalRepaymentAmount(Double totalRepaymentAmount) {
		this.totalRepaymentAmount = totalRepaymentAmount;
	}

	public Double getTotalRepaymentProportion() {
		return totalRepaymentProportion;
	}

	public void setTotalRepaymentProportion(Double totalRepaymentProportion) {
		this.totalRepaymentProportion = totalRepaymentProportion;
	}

	public Double getMonthlyPrincipalAmount() {
		return monthlyPrincipalAmount;
	}

	public void setMonthlyPrincipalAmount(Double monthlyPrincipalAmount) {
		this.monthlyPrincipalAmount = monthlyPrincipalAmount;
	}

	public Double getMonthlyFee() {
		return monthlyFee;
	}

	public void setMonthlyFee(Double monthlyFee) {
		this.monthlyFee = monthlyFee;
	}

	public Double getMonthlyFee2() {
		return monthlyFee2;
	}

	public void setMonthlyFee2(Double monthlyFee2) {
		this.monthlyFee2 = monthlyFee2;
	}

	public Double getFirstMonthAmount() {
		return firstMonthAmount;
	}

	public void setFirstMonthAmount(Double firstMonthAmount) {
		this.firstMonthAmount = firstMonthAmount;
	}

	public Double getFirstMonthFee() {
		return firstMonthFee;
	}

	public void setFirstMonthFee(Double firstMonthFee) {
		this.firstMonthFee = firstMonthFee;
	}

	public Double getFirstMonthFee2() {
		return firstMonthFee2;
	}

	public void setFirstMonthFee2(Double firstMonthFee2) {
		this.firstMonthFee2 = firstMonthFee2;
	}

	public Double getFirstMonthTotalAmount() {
		return firstMonthTotalAmount;
	}

	public void setFirstMonthTotalAmount(Double firstMonthTotalAmount) {
		this.firstMonthTotalAmount = firstMonthTotalAmount;
	}

	public Double getStagesFee() {
		return stagesFee;
	}

	public void setStagesFee(Double stagesFee) {
		this.stagesFee = stagesFee;
	}

	public Double getStagesFee2() {
		return stagesFee2;
	}

	public void setStagesFee2(Double stagesFee2) {
		this.stagesFee2 = stagesFee2;
	}

	public Double getBankRateAmount() {
		return bankRateAmount;
	}

	public void setBankRateAmount(Double bankRateAmount) {
		this.bankRateAmount = bankRateAmount;
	}

	public Double getFirstPaymentAmount() {
		return firstPaymentAmount;
	}

	public void setFirstPaymentAmount(Double firstPaymentAmount) {
		this.firstPaymentAmount = firstPaymentAmount;
	}
}